HTTP的Keep-Alive是什么?TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?
3 分钟阅读
•
218 字
+
432 词
参考答案
-
HTTP的Keep-Alive,是由 应用层实现 的,称为 HTTP 长连接
TCP
连接 ->
HTTP
请求资源 -> 响应资源 -> 释放连接,这就是HTTP短连接,
但是
这样每次建立连接都只能请求一次资源
,所以
HTTP
的
Keep-Alive
实现了
使用同一个 TCP 连接来发送和接收多个 HTTP 请求/应答,避免了连接建立和释放的开销
,就就是
HTTP 长连接
。通过设置HTTP头
Connection: keep-alive
来实现。
-
TCP的Keepalive,是由TCP层(内核态)实现的,称为TCP保活机制 ,是一种用于在TCP连接上检测空闲连接状态的机制
TCP
连接建立后,如果一段时间内没有任何数据传输,
TCP Keepalive
会发送探测包来检查连接是否仍然有效。
TCP的Keepalive是发送心跳包来确保对端是否能够正常响应